Jump To:
Technical Q&As: Hardware
Mass storage devices run the gamut from the fastest read/write peripheral disk drives to sequential-access tape drives. Mac OS X handles mass storage devices using a stack of drivers, each of which supports some aspect of the communication between the computer host and the device. Developers can use the BSD interface and the I/O Kit (Apple's object-oriented driver development framework) to access storage devices and their media at different layers of the stack.

Document Descriptions
On Off
Display

Sort by
Title
Sorted by
Date
Generating an NMI Without a Programmer's Switch (HTML) ()
QA1264: Explains how to generate a non-maskable interrupt (NMI) on CPUs without programmer's switches.
2004-04-26
Installing an I/O Kit KEXT Without Rebooting (HTML)
QA1319: Describes the state of the art of installing I/O Kit kernel extensions (KEXTs) without requiring a restart.
2003-10-28
SDRAM Problems With Self-Powered USB Devices (HTML) ()
HW82: Alerts that non-compliant, self-powered USB devices plugged into a G4, can cause problems with low-voltage-sensitive SDRAM .
2003-08-21
SCSIAction and IOSCSIUserClient on Mac OS X 10.2 (HTML) ()
QA1201: Describes migrating to a new API for SCSI Parallel devices starting with Mac OS X 10.2.
2002-09-13
Retain Counts of io_object_t Objects in IOKit.framework (HTML) ()
QA1195: Distinguishes between the retain counts of an I/O Kit kernel object and its io_object_t user space proxy.
2002-09-04
Sending SCSI commands to storage devices (HTML) ()
QA1179: Explains that Mac OS X does not implement SCSI pass-through for many mass storage devices.
2002-08-06
IODeviceTree & the IORegistry (HTML) ()
QA1120: Describes the IODeviceTree plane in the Mac OS X IORegistry.
2002-02-13
IOKit Framework Headers (HTML) ()
QA1107: Describes the differences between the headers in IOKit.framework and the I/O Kit headers in Kernel.framework.
2002-01-15
Adding dependencies with kmodload (HTML)
QA1097: Illustrates how to specify dependencies when using kmodload.
2001-12-05
The dreaded "incompatible flag -framework" error (HTML)
QA1096: Explains how to eliminate the incompatible flag -framework error in Project Builder.
2001-12-05
Open Firmware and the devalias node (HTML)
HW95: Describes why the contents of the Open Firmware devalias node varies between Macintosh models.
2000-09-05
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
2000-09-05
Legacy Devices (HTML)
HW84: Discusses why legacy devices with hard-wired I/O addresses may not work properly with Open Firmware.
2000-03-20
A SCSI little secret (HTML)
HW81: Details what to expect when accessing the motherboard SCSI bus on the Blue & White G3.
1999-12-20
Is the Open Firmware device tree object oriented? (HTML)
HW80: Discusses the object-oriented attributes of the Open Firmware device tree.
1999-11-15
Sample code for allocating an amount of dictionary space (HTML)
HW71: Discusses the allocation and the setting of memory for Dictionary space in Open Firmware.
1999-10-11
What is the "dump" word and how do I use it? (HTML)
HW68: Describes the function of the Open Firmware word "dump" and how it can be used.
1999-10-11
What numeric base is the default for the Open Firmware user interface? (HTML)
HW65: Describes how the default numeric base used by the Open Firmware user interface is hexadecimal.
1999-10-11
Determining Open Firmware configuration variables (HTML) ()
HW56: Discusses how to determine the Open Firmware variables on a system.
1999-03-29
Expansion ROM device properties (HTML) ()
HW50: Describes the Open Firmware properties that should be included in a boot device's expansion ROM.
1999-03-29
Getting started with Forth (HTML) ()
HW53: Describes where FCode driver developers can get information about the Forth programming language.
1999-03-29
Why did the name of the PCI bridge change? (HTML) ()
HW59: Explains the name change of the PCI bridge to the generic name "pci" in Open Firmware.
1999-03-29
Are interrupts enabled while Open Firmware is running? (HTML) ()
HW44: Explains that interrupts are disabled when Open Firmware is running.
1999-02-15
Booting after invoking the Open Firmware user interface (HTML) ()
HW48: Tells how to boot a system after entering the Open Firmware user interface.
1999-02-15
What are configuration variables in Open Firmware? (HTML) ()
HW38: Defines the configuration variables in Open Firmware.
1999-02-15
What are snag keys in Open Firmware? (HTML) ()
HW35: Explains Open Firmware snag keys, including examples of their function.
1999-02-15
Ejecting the Volume on Which Your Program Resides (HTML) ()
FL09: Suggests different solutions regarding ejecting a disk on which an application resides.
1998-07-06
SCSI ID from vRefNum (HTML) ()
DV29: Legacy Mac OS technique for identifying the ID of a SCSI Parallel device containing a specified disk volume.
1997-05-23
Detecting a CD-ROM (HTML) ()
DV18: Demonstrates CD-ROM drive detection.
1997-01-31
PCI Type 1 Cycles (HTML)
HW26: Describes the circumstances when the PowerMac generates a Configuration Type 1 command.
1995-07-15
ANSI SCSI Standards (HTML)
Deprecated - DV03: Describes past Macintosh systems that did not fully support the ANSI SCSI-1 standard.
1995-07-01